﻿using System;
using System.Collections.Generic;

using Arquitetura.Architectural.Model;
using Arquitetura.Architectural.BusinessLogic.Process;
using Arquitetura.Model;

namespace Arquitetura.BusinessLogic.Process
{
    public interface IPessoaProcess : IProcessBase
    {
        Result AlterarAluno(Aluno aluno);
        Result<Aluno> ConsultarAluno(Aluno aluno);
        Result ExcluirAluno(Aluno aluno);
        Result InserirAluno(Aluno aluno);
        Result<IList<Aluno>> ListarAluno();
        Result<IList<Aluno>> ListarAluno(Aluno alunoFiltro);
        Result<IList<Aluno>> ListarAluno(Aluno alunoFiltro, int skipCount, int takeCount, string sortExpression);
        Result<int> ContarAluno(Aluno alunoFiltro);
        Result InserirMae(Mae mae);
        Result InserirPai(Pai pai);
    }
}
